package com.example.server.service.admin;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.server.common.constant.Result;
import com.example.server.entity.Dict;
import com.example.server.vo.AddDictVO;
import com.example.server.vo.UpdateDictVO;

/**
 * (Interface)表服务接口
 *
 * @author china.fuyao@outlook.com
 * @since 2020-03-26 11:42:31
 */
public interface DictService extends IService<Dict> {
    /**
     * 新增字典
     *
     * @param addDictVO
     * @param customerId
     * @return
     */
    Result addDict(AddDictVO addDictVO, Integer customerId);

    /**
     * 修改字典
     *
     * @param updateDictVO
     * @param customerId
     * @return
     */
    Result updateDict(UpdateDictVO updateDictVO, Integer customerId);

    /**
     * 删除字典
     *
     * @param dictId
     * @return
     */
    Result deleteDict(Integer dictId);

    /**
     * 通过父级id,获取子级列表
     *
     * @param pid
     * @return
     */
    Result dictListByPid(Integer pid);

    /**
     * 通过父级key,获取子级列表
     *
     * @param pKey
     * @return
     */
    Result dictListByPCode(String pKey);

    /**
     * 启/禁用字典
     * @param dictId
     * @param enable
     * @param customerId
     * @return
     */
    Result setEnable(Integer dictId, Integer enable, Integer customerId);
}